package com.yupi.yupicturebackend.exception;

import lombok.Getter;

/**
 * 自定义业务异常
 * 报错后可以检查出是否是自己业务的问题
 */
@Getter
public class BusinessException extends RuntimeException {

    /**
     * 错误码
     */
    private final int code;

    /*使用super(message)，调用RuntimeException的构造方法，将消息传递给父类RuntimeException，以便在异常中包含该消息。
    this 关键字用途：用于调用同一个类中的另一个构造方法。*/

    public BusinessException(int code, String message) {
        super(message);
        this.code = code;
    }

    public BusinessException(ErrorCode errorCode) {
        super(errorCode.getMessage());
        this.code = errorCode.getCode();
    }

    public BusinessException(ErrorCode errorCode, String message) {
        super(message);
        this.code = errorCode.getCode();
    }

}
